﻿using System;
using System.Runtime.Serialization;

namespace NetBay.Core.BusinessEntities
{

    /// <summary>
    /// m_szName (string) : file name
    /// m_bmImg  (Bitmap) : Image's file
    /// </summary>
    [DataContract]
    public class Vignette : ReturnObject
    {
        private string m_szName;

        [DataMember]
        public string Name
        {
            get { return m_szName; }
            set { m_szName = value; }
        }

        private byte[] m_bmImg;

        [DataMember]
        public byte[] Img
        {
            get { return m_bmImg; }
            set { m_bmImg = value; }
        }

        private string m_szPathStorage;

        [DataMember]
        public string PathStorage
        {
            get { return m_szPathStorage; }
            set { m_szPathStorage = value; }
        }

        public Vignette()
        {
        }

        /// <summary>
        /// Initializes a new instance of the <see cref="Document"/> class for error usages
        /// </summary>
        /// <param name="errorMessage">The error message.</param>
        /// <param name="applicationException">The application exception.</param>
        public Vignette(string errorMessage, Exception applicationException = null)
            : base(errorMessage, applicationException)
        {
        }

        public Vignette(string P_szPathStorage,string P_szName, byte[] P_bmImg)
        {
            m_szPathStorage = P_szPathStorage;
            m_szName = P_szName;
            m_bmImg = P_bmImg;
        }


        public override object Clone()
        {
            throw new NotImplementedException();
        }
    }

    public abstract class VignetteDer : Vignette
    {
        public abstract void SetOrganizationList();

        public VignetteDer(string P_szPathStorage, string P_szName, byte[] P_bmImg)
            : base(P_szPathStorage, P_szName, P_bmImg)
        {

        }
    }
}
